// 设置一个用户的仓库
export const state =()=>({
    userInfo:{
        token: "",
        user: {}
    }
})
// mutations是用来同步修改state里面的数据的
export const mutations = {
    // 参数state是必须的，通过state修改数据
    setUserInfo(state,data){
        state.userInfo = data
    }
}

// actions是用来异步请求修改数据，组件共享方法
export const actions = {
    login(store,data){
        return this.$axios({
            url:'/accounts/login',
            method:'post',
            data
        }).then(res=>{
            store.commit('setUserInfo',res.data)
        })
    },
    sendCaptcha(store,tel){
        return this.$axios({
            url:'/captchas',
            method:'post',
            data:{
                tel
            }
        }).then(res=>{
            // code是验证码
            const {code} = res.data;
            return code;
        })
    },
    register(store,data){
        return this.$axios({
            url:'/accounts/register',
            method:'post',
            data
        }).then(res=>{
            // 注册后立即登录
            store.commit('setUserInfo',res.data);
        })
    }
}